textview: clear cached entries before releasing containers
authorChristian Hergert <chergert@redhat.com>
Fri, 9 Aug 2019 19:52:16 +0000 (12:52 -0700)
committerChristian Hergert <chergert@redhat.com>
Fri, 9 Aug 2019 19:52:16 +0000 (12:52 -0700)
We want to ensure all of the display cache entries are released in the
normal fashion before releasing the structures so that we can maintain
the invariant that cache_iter will always exist while in the cache.

gtk/gtktextlinedisplaycache.c

index 6129d787fc7ff739bf6ac2b6fc951fde1386cc5e..267d9f61823a0b0b7272cbc52ebd204e7abc5791 100644 (file)
@@ -93,6 +93,8 @@ gtk_text_line_display_cache_free (GtkTextLineDisplayCache *cache)
   g_clear_handle_id (&cache->log_source, g_source_remove);
 #endif
 
+  gtk_text_line_display_cache_invalidate (cache);
+
   g_clear_pointer (&cache->evict_source, g_source_destroy);
   g_clear_pointer (&cache->sorted_by_line, g_sequence_free);
   g_clear_pointer (&cache->line_to_display, g_hash_table_unref);